package com.biz.primus.model.tms.vo;

import com.biz.primus.model.tms.enums.DeliveryOrderStatus;
import com.biz.primus.model.tms.enums.DeliveryPriority;
import com.biz.primus.model.tms.enums.PayStatus;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.List;

/**
 * PushedDeliveryOrderVo
 *
 * @author JKLiues
 * @date 2017/11/21
 */
@Getter
@Setter
public class PushedDeliveryOrderVo implements Serializable {
    private static final long serialVersionUID = -3767957671861295457L;

    private Long id;
    /**
     * 订单来源
     */
    private String orderSource;

    /**
     * 订单编号
     */
    private String orderCode;

    /**
     * 配送单号
     */
    private String deliveryCode;

    /**
     * 会员账号
     */
    private String account;

    /**
     * 店铺编码
     */
    private String depotCode;

    /**
     * 商品花费金额
     */
    private Integer cost;

    /**
     * 税费（需要发票时）
     */
    private Integer taxFee;

    /**
     * 订单创建时间
     */
    private Timestamp createTimestamp;

    /**
     * 订单总价
     */
    private Integer orderAmount;

    /**
     * 客户备注
     */
    private String remark;

    /**
     * 是否需要发票
     */
    private Boolean needTax = false;

    /**
     * 发票类型  普通发票/增值税发票
     */
    private String invoiceType;

    /**
     * 发票抬头
     */
    private String invoiceTitle;

    /**
     * 发票内容
     */
    private String invoiceDetails;

    /**
     * 最后修改时间
     */
    private Timestamp lastmodify;

    /**
     * 订单下单/生成日期
     */
    private Timestamp orderTime;

    /**
     * 订单项
     */
    private List<PushedDeliveryOrderItemVo> deliveryOrderItems;

    /**
     * 支付方式
     */
    private String payType;

    /**
     * 支付状态
     */
    private PayStatus payStatus;

    /**
     * 已支付金额
     */
    private Integer payAmount;

    /**
     * 订单优惠金额
     */
    private Integer orderFree;

    /**
     * 配送状态
     */
    private DeliveryOrderStatus shipStatus;

    /**
     * 订单状态
     */
    private String status;

    /**
     * 发货状态
     */
    private Integer deliveryStatus;

    /**
     * 订单总金额
     */
    private BigDecimal total_amount;

    /**
     * 门店名称
     */
    private String depotName;

    /**
     * 分单时间
     */
    private Timestamp pumpTime;

    /**
     * 配送优先级 1: 立即送  2: 普通送 3:自提
     */
    private DeliveryPriority deliveryPriority;

    /**
     * 收货人姓名
     */
    private String consigneeName;

    /**
     * 手机号码
     */
    private String mobile;

    /**
     * 座机号码
     */
    private String telephone;

    /**
     * 收货人地址
     */
    private String address;

    /**
     * 省名称
     */
    private String areaState;

    /**
     * 市名称
     */
    private String areaCity;

    /**
     * 区(县)名称
     */
    private String areaDistrict;

    /**
     * 收货人地址纬度
     */
    private BigDecimal consigneeLat;

    /**
     * 收货人地址经度
     */
    private BigDecimal consigneeLon;

    /**
     * 区域邮编
     */
    private String zip;

    /**
     * 要求送货时间
     */
    private Timestamp requireSendTime;

    /**
     * 送达时间
     */
    private Timestamp sendTime;

    /**
     * 未支付金额
     */
    private Integer unpayAmount;

}
